The present invention relates to computer system communications. Computer systems use communications controllers to control the transfer of data to and from remote communications ports. A communications channel in computer systems is typically a data bus on which data is transferred bidirectionally between a communications controller and the communications ports. Each of the communications ports and the controller are connected to the data bus. The communications controller is used to communicate blocks of information to and from the communications ports. The blocks may be divided into a multiplicity of sub-blocks. The sub-blocks are transferred within data formats predetermined by the communications system.
The communications controller must poll the communications ports to recognize which one of the communications ports wants to send information or is ready to receive information. This is accomplished by interrogation and responsive data transfers. A block of information including an address of the port to be polled is transferred to the communications ports. The communications ports respond according to their status. Addressing one of the communications ports is accomplished by transferring address data along the data bus to the communications ports wherein the address is decoded. Interrogating and responding consumes time on the data bus. This disadvantage limits the transfer rate of raw data on the data bus. Additionally, the time required to perform addressing and status recognition increases the time required to complete a block transfer. The data bus architecture has this inherent time delay disadvantage.
The communications controller may not be able to disable a communications port when the communication port is malfunctioning. The entire data bus communications capability may become inoperative when a single communications port causes the bus to malfunction.
Additionally, the communications port might be sending erroneous data during a failure. The data bus transmits data without checking the validity of the data. Erroneous data may propagate to the controller. The data bus disadvantageously lacks the capability of disabling any of the failing communications ports.